home *** CD-ROM | disk | FTP | other *** search
/ MacHome 2000 March / MacHome CD (March 2000).iso / mac / Games / Bolo 0.99.2 / Documentation / Bolo.README < prev    next >
Text File  |  1994-03-12  |  24KB  |  230 lines

  1. Bolo © 1987-1993 Stuart Cheshire <cheshire@cs.stanford.edu>
  2.  
  3. What is Bolo?
  4. ~~~~~~~~~~~
  5. Bolo is a 16 player graphical networked real-time multi-player tank battle game. It has elements of arcade-style shoot-em-up action, but for the serious players who play 12 hour games with 16 players working in teams in different networked computer clusters around an office or university campus, it becomes more of a strategy game. You have to play it to understand.
  6.  
  7. Licensing agreement
  8. ~~~~~~~~~~~~~~~~
  9. Bolo is "Shareware". This means that you can try it out for one month before you decide whether you are going to delete it from your disks, or pay for it. The price of Bolo is $25 in US Dollars, or £15 in British Pounds, whichever is easiest for you to send. You have the opportunity to actually play the game before you decide whether it is worth the price I ask. Bolo has no copy protection, no expiry date, no network serial number registration, and no disabled features which you cannot use until you pay. My attitude is that some people are honest, and some people are not. The dishonest ones will never pay anyway, so all the software protection just inconveniences the honest people.
  10.  
  11. If you want to show Bolo to a group of 10 friends who have not seen it, they are not required to buy their own copies before they can play, as they would if Bolo were like most commercial software. However, if YOU are a regular Bolo player, and you wish to see Bolo continue to be improved, then please pay your shareware fee. As with all shareware, knowing someone else who has paid does not count as "having paid your shareware fee." Please send $25 to "Stuart Cheshire, P.O. Box 8323, Stanford, CA 94309, USA" or send £15 to "Stuart Cheshire, 290 Clarence Road, Four Oaks, Sutton Coldfield, West Midlands, B74 4LT, England" If you can't afford $25 or feel like you don't play often enough to justify that price, then obviously I'd rather you sent me something than nothing at all. If you can't afford anything at all then obviously I'd rather you played Bolo than not, so send me a post card instead. Ultimately, it's down to your own concience to decide.
  12.  
  13. This shareware fee applies to this and all previously released versions of Bolo.
  14.  
  15. Bolo may be distributed freely by electronic means, such as anonymous ftp services. Bolo may not be distributed on any form of physical media for which money is charged or a "membership fee" is required, without the express written permission of the author.
  16.  
  17. This INCLUDES MacUser UK, who are currently distributing Bolo without my permission. They have ignored my attempts to contact them, and are charging £8 (nearly $15) which is clearly way beyond 'reasonable media costs' for a single 800K floppy disk.
  18.  
  19. Note: Many services now offer to 'collect' your shareware fee for you. Though many, perhaps even most, may be honest, you have no way of knowing whether your payment ever reaches me, and I have no way of knowing that you ever paid. Please send payment directly to me, by post.
  20.  
  21. See also "Legal Stuff" at the end of this document.
  22.  
  23. What you should have received in this package
  24. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  25. You should have received the Bolo application program "Bolo 0.99", the sound effect file "BoloSounds", and the "Brains" folder, containing "Standard Autopilot". You should also have received the following documentation files:
  26.  
  27. Bolo.README -- this file
  28. Bolo.versionhistory -- news about what is new in this release of Bolo
  29. MacBolo Instructions (MSWD) -- Instructions how to play Bolo
  30. Bolo.futureplans -- news about what to expect next
  31. Bolo.FAQ -- answers to frequently asked questions
  32. Bolo.bugreportform -- The information I want to know if Bolo crashes on you
  33.  
  34. Map File Format folder:
  35.     BoloMapFile.h -- description of the map file format
  36.     BoloMapFile.c -- sample C code to read and write the map files
  37.  
  38. Standard Autopilot sample code folder:
  39.     Brain.h -- Interface definition header file
  40.     debug.c -- debugging code to allow you to send "printf" style messages to MacsBug
  41.     debug.h -- header file for "debug.c"
  42.     How to write plug-in brains -- document describing how to do it
  43.     Standard Autopilot.c -- sample C code for the Standard Autopilot
  44.     Standard Autopilot.π -- sample Think C project file to compile the Brain
  45.     Standard Autopilot.π.rsrc -- resources for Standard Autopilot
  46.  
  47. If any of these are missing, you can obtain the full Bolo package by Gopher (or by anonymous ftp) from Sumex-Aim.Stanford.EDU, or at certain times of day, if you are lucky, from Bolo.Stanford.EDU.
  48.  
  49. The manual is in Microsoft Word format (Word 4 or 5). Sorry if you don't have Word.
  50.  
  51. How to contact me
  52. ~~~~~~~~~~~~~~~
  53. I will warn you that I get swamped with e-mail, so regretably most of it gets ignored (well, you do want me to find time to work on Bolo, don't you?) but if you need to contact me about something important, you can use one of the following methods:
  54. • My Internet e-mail address is: cheshire@cs.stanford.edu
  55. • From CompuServe type: >INTERNET:cheshire@cs.stanford.edu
  56. • From AppleLink type: cheshire@cs.stanford.edu@internet#
  57. • From America Online just use the internet address: cheshire@cs.stanford.edu
  58. • From programs using Novell's MHS (eg. Coordinator) type: mail@cserve{INTERNET:cheshire@cs.stanford.edu}
  59. (Kudos to CompuServe here for providing a forwarding service for other systems which can't do it themselves)
  60. • From Prodigy: use snail mail (address above), or change to another system.
  61. (If you have any more to add to the list, or corrections to these, let me know.)
  62.  
  63. Notes
  64. ~~~~~
  65. If you want sound effects, put the BoloSounds file in the same folder as the Bolo application icon. If you want to save disk space, you can chuck the BoloSounds file and Bolo will still work. If you do this, you can also reduce Bolo's memory allocation to about 500K instead of 1000K. If you don't want colour or sounds, you can reduce the memory to about 300K.
  66.  
  67. The zoom box of the window is there for my debugging. Clicking it does not zoom the window. It blanks it, so that I can check that the graphics routines are only drawing the necessary areas of the screen.
  68.  
  69. The game benefits hugely from colour. Even if you play it on a black-and white Mac, try to get a look at it on a colour Mac first, and it should help make it more obvious what the various visual elements on the screen represent.
  70.  
  71. Bolo was written entirely using Think C 5, ResEdit, and Max Lyth's excellent Think C utility "CMaster". (See below for more details.)
  72.  
  73. Bolo is NOT Object Oriented.
  74.  
  75. Bolo does NOT use RPC, or lightweight threads, or OSI.
  76.  
  77. Bolo is written in standard plain ANSI C, with a little inline assembler.
  78.  
  79. The recent "object oriented" hype is largely an attempt by the Unix workstation companies to have us believe that the reason all their software is crap is because they were all using the wrong language, and everything will be better next time. We'll see. Basically, there are clever programmers, and there are stupid programmers. C++ is a good language, and I use it myself sometimes (and so does Apple), but if you can't write a working program to save your life (or your company) then C++ is not going to magically fix it for you. A team of stupid programmers is still a team of stupid programmers, and giving them C++ to use just gives them more interesting and varied ways to get it wrong.
  80.  
  81. Bolo is 32 bit clean, System 7.x compatible, A/UX compatible, IIFX and Quadra compatible, multiple monitor compatible, 32bit QuickDraw compatible, DirectColor compatible, SunOS compatible* etc. etc. etc. I'm not sure about Virtual Memory, but it hasn't crashed yet. I already use the Deferred Task Manager for my interrupt routines, but I need someone who is an expert on VM to tell me if there is any other magic that I need to do.
  82.  
  83. (*Yes, Bolo will run on a Sun workstation, using the "Liken 1.2 Macintosh Emulator". Performance is best if you select "QuickDraw Only" from the "Bolo" menu. Unfortunately, Liken doesn't support AppleTalk yet, so you can only play on your own.)
  84.  
  85. Bolo prefers, but does not require, System 7. For the sake of Mac Plus users I will continue to support Bolo running on 6.0.7 (but not if you are using MacroMaker -- that's not my fault).
  86.  
  87. With certain kinds of graphics hardware (cards requiring 32-bit addressing), Bolo will run slightly faster if you set the "Memory" Control Panel to 32 bit addressing. Of course this only applies to Macs which have the 32 bit addressing option.
  88.  
  89. If you have an Apple 8•24 GC graphics card and have 'acceleration' turned on, then Bolo will work, but it will run slowly. You may wish to turn 'acceleration' off.
  90.  
  91. After Dark has a feature called the SystemIQ (TM) activity monitor, which will detect that the Mac is 'busy' (playing Bolo all night) and decide not go to sleep so that it does not 'interfere' with the 'busy' application. If this is not what you want, then turn off 'SystemIQ'. Bolo will not be in the least affected, or slowed down, by having a screen saver run over the top of it.
  92.  
  93. I'm told that the Eudora mail program has a fight with Bolo every time it receives a mail message. I have no idea why.
  94.  
  95. Plea!
  96. ~~~~
  97. Now that Bolo has a proper map file format defined, let's see NO MORE of the boring 100 x 50 rectangular maps. Our standard map was this shape, but that was designed five years ago when Bolo ran on a BBC micro with 32K RAM and a 0.2 MIPS 6502 processor. Also, maps DON'T have to be huge. Games played on small interesting maps are much more fun. Just don't make the islands rectangular all the time. Can we see some imagination and creativity please?
  98.  
  99. See the file "Bolo.FAQ" for frequently asked questions about Bolo.
  100. See the file "Bolo.versionhistory" for details of what's new in this release of Bolo.
  101.  
  102. Credits
  103. ~~~~~~
  104. • Original game concept: James Everard and Stuart Cheshire
  105. • Programming: Stuart Cheshire
  106. • Map and graphics character design (original BBC micro version): James Everard
  107. • Sound effects and Sound manager expertise: Kevin Marks and Maf Vosburgh
  108. • Voice of dying man: Maf Vosburgh
  109. • Bolo file icons: Matt Rollefson
  110. • Invaluable help diagnosing and debugging network glitches: Neil Crellin
  111. • Sample code to help me see how to handle multiple monitors: Steve Newman
  112. • New colour scheme for graphics on Macintosh: Pavani Diwanji
  113. • Miscellaneous encouragement and advice about VBL tasks: Bernhard Wieser
  114. • Help with AppleTalk Phase 1 details not documented in Inside Mac: David Gelhar
  115. • Writing the ace Macintosh FTP server that allows me to distribute Bolo: Peter Lewis
  116. • Major stress testing and bug reporting for low-end Macs (Plus & SE): David Hsu and Brian Quirion (aka antz aka Jondolar)
  117. • Immeasurable help in spreading the word at Apple and getting Bolo stress tested on Quadras and under A/UX and on large AppleTalk networks and lots of other things: Brian Wilson.
  118. • Help with After Dark problems, KeyTrans question, etc. Ben Haller
  119.  
  120. • Special mention for good ideas regarding network recovery: Kevin Marks
  121. • Special mention for really evil way of killing a pillbox: Dane Spearing
  122. • Special mention for managing to win against six opponents despite total inability to ever shoot at an enemy tank and hit it: Tom Costello
  123. • Largest Bolo game during commercial air flight: Steve Green (and five friends).
  124. • Testing and encouragement: Dane Spearing, Mark Visokay, Tom Costello, Bob McDaniel, Jeremy Doig, Matt Rollefson, Michele Carvalho, and anyone else whom I may have forgotten; let me know so I can add your name to the list.
  125. • Thanks are due to my PhD advisor Dr Cheriton for allowing me to work on this.
  126.  
  127. Acknowledgments
  128. ~~~~~~~~~~~~~~
  129. When people ask me why I made Bolo the way it is, two board games come to mind which I think served as inspiration for some of the concepts I have tried to include in Bolo.
  130.  
  131. 1. "Combat"
  132. Devised by G. Rostant, for J. & L. Randall Ltd, Potters Bar, Herts, England, and sold by "Merit", with the endorsement of Lt. General Sir Brian Horrocks K.C.B., K.B.E., D.S.O., M.C., L.L.B.(Hon).
  133. Merit Cat. No. 6192. Unfortunately no copyright date anywhere on the packaging or the manual, or indeed any copyright notice at all.
  134. This is a two-player board game which I enjoyed playing as a child. It had tanks, artillery guns, aircraft and mines. It had grass, forest, hills and road, which each imposed a different top speed of the vehicles as they passed over them. The game board itself was blank, and these terrain elements were printed on pieces of plastic film which were placed on the board so that each game could be played with a different map layout. However, in Combat, the terrain was fixed once the game began, and mines were not secret -- they were placed on the board and openly visible. Tanks inside forest were protected from being shot, but of course they were still visible to the other player, and Combat did not have that other element of secrecy -- limited visibility range so that you could not see what was happening deep in enemy territory. It was also limited to two players (or two pairs of partners), so there was no question of shifting alliances or treachery.
  135. I liked Combat for having different kinds of terrain with different properties which gave a wide range of choices of route, instead of a simple line of squares along which the pieces move, as in Monopoly. I also liked the fact that the moves were deterministic, dependent on the terrain, instead of being decided by the throw of dice, and the fact that, although the two players took turns, on each turn you could move all or none of your vehicles, unlike games in the chess model where you only move one of your many pieces per turn. In Bolo I tried to keep these ideas, and enhance them by using the computer's ability to provide more subtlety -- simultaneous play instead of alternating turns, and smooth movement instead of pieces moving from square-to-square in discrete steps.
  136.  
  137. 2. "Diplomacy"
  138. Copyright 1976, The Avalon Hill Game Company, 4517 Harford Road, Baltimore Maryland 21214, USA.
  139. At first sight Diplomacy would seem to have little in common with Bolo, but it has elements which I tried to include. The most obvious is the alliances -- the shifting, uncertain, treacherous alliances, of players making promises they don’t keep, of players offering support but then 'forgetting' or 'accidentally' doing the wrong thing by mistake.
  140. The other feature of Diplomacy which deserves mention is the simultaneous play aspect -- all players decides their moves (and write them down on paper) at the same time, uncertain of what other players' plans may be. In chess and most other games, you decide your move with full knowledge of the state of the board. In Diplomacy, it is only after you have committed yourself to a series of moves that you find out whether other players have themselves made moves which render your own useless. It was this aspect of having to make decisions, to formulate plans and strategies with only partial or even sometimes incorrect knowledge, which I wanted to capture in Bolo.
  141.  
  142. About the author
  143. ~~~~~~~~~~~~~
  144. Stuart Cheshire is a PhD student working at Stanford University in David Cheriton's Distributed Systems Group.
  145. Bolo was first conceived as a two player game for the Acorn BBC Micro by Stuart Cheshire and James Everard in Cambridge in the summer of 1987. It soon grew into a 16 player distributed game running over 4800 baud RS423 connections by early 1988, but unfortunately there was never any opportunity to run it with more than 8 machines.
  146. In January 1989 work started on porting to the Apple Macintosh, but was not completed.
  147. In the autumn of 1990, after nearly two years break, work resumed on porting to the Apple Macintosh. This continued sporadically for over a year, reaching the first really playable version just before Christmas 1991.
  148. Bolo continued to need the author's continuous attention to keep a game running, like a sick aircraft being nursed along by a skilled pilot, until April 1992, when it finally made its first unassisted flight, staying airborne for over 48 hours.
  149. The saga continues...
  150.  
  151. (See "Bolo.versionhistory" for a history of the program's development.)
  152.  
  153. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  154. Addendum (SOAPBOX) This is where I get to write what I like.
  155.  
  156. CMaster by Max Lyth
  157. ~~~~~~~~~~~~~~~~
  158. Bolo would have taken twice as long to write if it were not for Max Lyth's CMaster, an invaluable programmers' utility for Think C.
  159.  
  160. CMaster provides too many useful features to list here, but my favourite is a popup menu of functions defined in the window you are editing, so that you can navigate around large files MUCH faster than you could otherwise. This allows you to structure your program how you want, instead of being forced to subdivide modules simply because they are too big for you to cope with.
  161.  
  162. It also gives live scrolling when you drag the scroll box, a feature to place marker points in a file, and when you open any file it restores it to exactly the position, size and shape it was in when you closed it last, even putting the scroll bar and insertion point back where they were.
  163.  
  164. I could write forever about the huge list of things it does and how great it is, but I must stop somewhere, so here is the address where you can order it:
  165.  
  166. Jersey Scientific, Inc
  167. 545 Eighth Ave 19th Flr
  168. New York, NY 10018
  169. USA
  170.  
  171. Telephone: USA (212) 736 0406
  172. Fax: USA (212) 947 4981 or (201) 464 3458
  173. electronic mail: jersci@applelink.apple.com
  174.  
  175. I have no connection with Jersey Scientific other than gratitude for the hundreds of hours of my precious time they have saved with this product.
  176.  
  177. IMPORTANT NOTE (28/9/92): I REALLY don't have anything to do with Jersey Scientific. Honestly. Please don't send them letters or faxes about Bolo or telephone them asking for me. They are in New York, and I am in San Francisco. I've never even met any of them. I wrote this recommendation to acknowledge a good product and help a small company, not to waste their time answering calls and letters and faxes for me. Please don't call them (or rather, please do, but call to order CMaster, not to ask about Bolo).
  178.  
  179. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  180. Since I have got your attention this far, here's an idea. There are lots of good shareware/freeware programmers who work to make the Mac wonderful, sacrificing financial reward for the pleasure of programming. I think Apple should acknowledge some of the celebrities of this community and reward them with cheap or free hardware, admission to events, membership of APDA etc., in recognition of the fact that they would have to pay teams of programmers exorbitant salaries in order to achieve the same results.
  181.  
  182. I am not asking Apple to hand out freebies to every Joe who has ever written a HyperCard script, but to recognise a small number of talented and dedicated programmers who have made a significant contribution to the Macintosh community.
  183.  
  184. Here are some nominations:
  185. John Norstad for Disinfectant (Virus detection and removal.)
  186. Chris Johnson for GateKeeper (Virus protection.)
  187. Peter Lewis for Talk/Talkd, Finger/Fingerd, FTPd, DeHQX, MacBinary II+ (Suite of Macintosh Internet Connectivity applications.)
  188. Peter Speck for Nuntius (Wonderful Macintosh newsreader for the Internet newsgroups.)
  189. Bill Goodman for Compact Pro (Excellent and simple file compression.)
  190. David Warker for Remember? (Appointment reminder program.)
  191. Christopher Wysocki for Escapade. (Keyboard shortcuts for all dialog boxes.)
  192. Steve Christensen for SuperClock. (You all know what this is.)
  193.  
  194. I may add to this list, but I am trying to establish a small core of the real heroes who deserve to be rewarded.
  195. (Before you send me suggestions for the list, let me say that, however well written and impressive, I'm NOT counting games as vital contributions to the Macintosh community.)
  196.  
  197. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  198. Legal Stuff
  199. ~~~~~~~~~
  200. Although copyrighted, the Bolo software may be freely distributed by electronic means, provided that it is not modified in any way and that it is accompanied by all of the original documentation unaltered. However, ownership of and interest in this software, together with all associated codes, techniques, software tools, formats, designs, concepts, methods, ideas, and documentation shall remain with the author.  Use and distribution of this software is governed by the following terms in an effort to reasonably ensure that this software will remain freely available and that no one other than the author will derive a commercial benefit from distributing this software.
  201.  
  202. You may:
  203. 1. Use this software on as many computers as you want for one month in order to evaluate it.
  204. 2. Make as many backup copies of this software as you want.
  205. 3. Pay the author the Shareware fee ($25 or £15) and continue to use this software after the one month trial period expires.
  206. 4. Freely distribute this software via wire or electronic communications (BBS's and online information systems) for the sole purpose of use by their customers.
  207. 5. Terminate this agreement at any time by destroying all copies of this software and derivatives of this software and cease distributing the same.
  208.  
  209. You may not:
  210. 1. Create any derivative works from this software for distribution.
  211. 2. Charge money for this software other than reasonable charges for downloading time or shipping expenses.
  212.  
  213. Disclaimer of warranty:
  214. In using this software, you understand and agree that this software is provided “as is” without warranty of any kind.  The entire risk as to the results and performance of using this software lies entirely with you, the user.  The author does not make any warranties, either expressed or implied, including but not limited to implied warranties of merchantability and fitness for a particular purpose, with respect to this software.
  215.  
  216. In no event shall the author be liable for any consequential, incidental, or special damages whatsoever (including without limitation damages for loss of critical data, loss of profits, interruption of business, and the like) arising out of the use or inability to use this software.  Because some states do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitations may not apply to you.
  217.  
  218. Although the author would appreciate any feedback and bug reports, the author shall not be responsible for correcting any problems which you discover or otherwise help you maintain and use this software.  Furthermore, the author may at any time replace, modify, alter, improve, enhance or change this software.
  219.  
  220. Complete agreement:
  221. This agreement constitutes the entire agreement and supersedes any prior agreements between you and the author concerning this software.  This agreement cannot be amended, modified, or waived except in writing.
  222.  
  223. General:
  224. If any provision of this agreement shall be found to be unenforceable, it shall be deemed severed from the remainder of this agreement.
  225.  
  226. This agreement shall be construed in accordance with the laws of the State of California.  Any arbitration or litigation relating to this agreement shall take place in the State of California. The parties further submit to waive any objections to personal jurisdiction of and venue in any of the following forums: U.S. District Court for the Northern District of California, California Superior Court for Santa Cruz County, Santa Cruz County Municipal Court or any other forum in Santa Cruz County, for any litigation arising out of this agreement.
  227.  
  228. U.S. GOVERNMENT RESTRICTED RIGHTS
  229. This Software is provided with RESTRICTED RIGHTS.  Use, duplication, or disclosure by the government is subject to restrictions set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at 48 CFR 252.227-7013, or in subparagraphs (a) through (d) of the Commercial Computer Software Restricted Rights clause at 48 CFR 52.227-19, as applicable.  The contractor/manufacturer is Stuart Cheshire, P.O. Box 8323, Stanford, CA 94309.
  230.